TileWidth{ TileHightQ RRadius XTile DTileC GroutGap FileName TileBodyW TileBoxW TileBoxH* PRINTTileBoxW NegWh Across Rows( YTile ColumDepth TideBoxH` Column RowPosx TotalWidth TotalHight TotalHigthz HalfW HalfH FileDec TileHeight TotalHeight Chose ErrorRoutine Information Information.Screen# InputFile Pickup ChoseA ErrorRoutine1\ BoxWidth BoxHeightt BoxDepth BoxHalfW BoxHalfH BoxHalfD BoxBoxW BoxBoxH BoxBoxD TileDepth BoxNegW BoxNegH BoxHG BoxNegG BoxTotalWidth BoxTotalHeight BoxNegD BoxNegX BoxTileHeight BoxFrame; ArrayDepthe ArrayPositionX Array ArrayDepthTotal BoxHalf, oxBoxDD UnitBox^ scale Amount Reflection AddTex3 Pick2 Alpha RandomPick& Ambient Diffuse Phongp PhongSized GREENL Color1 Color2 RandomTex TexAmount incFile FileTex FilePOV FileInc CamLocation ObjectName Object1 Object2 Obbject1 ComObject Boxer Maker 0.1 M.Miller 4/22/92i Choose: (A)Box Array or (B)Tiles " Input for Tiles (X) Width of One Tile: " (Y) Height of One Tile: " Round Edge Radius of Tile: " Number of Tiles across: " Number of Tiles down: " Grout Gap Between Tiles: " Object Name: " File Name: " Input for Boxes (R)R_Box, (F)Frame, (B)Box, (Q)QSphere: " (X) Width of Box: " (Y) Height of Box: " (Z) Depth of Box: " Round Edge Radius of Box: " Number of Boxes across: " Number of Boxes down: " Number of Box Arrays Deep: " Gap Between Boxes: " Create Random Textures for Objects (Y): " Object Name: " File Name: " Enter either an A or a B Hit Any Key to continue or CTRL+BREAK to exit. --- Format File Namess - Format Variables for Tiles - Format Variables for Boxes * IF TILE WAS CHOSEN --- Format Tile Inc. /* - Tiles generated with Boxer 0.1 -" Tiles across " Tiles down " Total Size: X= // --- declared data needed for: " #declare S1 = quadric { Sphere scale < #declare R1 = intersection { Disk_X scale <" #declare U1 = intersection { Disk_Y scale <" #declare Tile_Texture1 = texture {" color red .6 green .5 blue .5" ambient .2 diffuse .6 phong 1" phong_size 70" #declare Tile_Texture2 = texture {" color red .3 green .5 blue .5" ambient .2 diffuse .6 phong 1" phong_size 70" #declare Grout_Texture = texture {" color red .75 green .85 blue .6" ambient .3 diffuse .6 phong .2 phong_size 10" #declare " object { union {" box { UnitBox scale <" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" intersection { R1 translate < 0" 0 > }" intersection { R1 translate < 0 0 > }" intersection { U1 translate <" 0 0 > }" intersection { U1 translate <" 0 0 > }" texture { Tile_Texture1 }" bounded_by {" box { UnitBox scale < } #declare " object { union {" box { UnitBox scale <" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" quadric { S1 translate < 0 > }" intersection { R1 translate < 0" 0 > }" intersection { R1 translate < 0 0 > }" intersection { U1 translate <" 0 0 > }" intersection { U1 translate <" 0 0 > }" texture { Tile_Texture2 }" bounded_by {" box { UnitBox scale < } composite {" returns (Y) of each row composite {" returns (X) of each column object { " translate < object { " translate < bounded_by {" box { UnitBox scale < > translate < 0 > } " } // optional grout object { box { UnitBox scale < > translate < > } " texture { Grout_Texture } }" bounded_by {" box { UnitBox scale < > translate < 0 > } " } translate <" * IF BOX WAS CHOSEN --- Format Tile Inc. /* - Boxes generated with Boxer 0.1 -" Box(es) across " Box(es) down Arrays deep" " Total Size: X= // --- declared data needed for: " #declare S1 = quadric { Sphere scale < #declare X1 = intersection { Disk_X scale <" #declare Y1 = intersection { Disk_Y scale <" #declare Z1 = intersection { Disk_Z scale <" #declare Box_Texture1 =" texture {" color red .6 green .5 blue .5" ambient .2 diffuse .6 phong 1" phong_size 70" #declare Box_Texture2 =" texture {" color red .3 green .5 blue .5" ambient .2 diffuse .6 phong 1" phong_size 70" #declare " = object {" box { UnitBox scale < texture { Box_Texture1 } #declare " = object {" box { UnitBox scale < texture { Box_Texture2 } #declare " = object {" quadric { Sphere scale <" texture { Box_Texture1 } #declare " = object {" quadric { Sphere scale <" texture { Box_Texture2 } #declare " object { union {" box { UnitBox scale <" box { UnitBox scale <" box { UnitBox scale <" quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { Y1 translate <" intersection { Y1 translate <" intersection { Y1 translate <" intersection { Y1 translate <" intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } texture { Box_Texture1 } bounded_by {" box { UnitBox scale < } #declare " object { union {" box { UnitBox scale <" box { UnitBox scale <" box { UnitBox scale <" quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < quadric { S1 translate < intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { X1 translate < 0 intersection { Y1 translate <" intersection { Y1 translate <" intersection { Y1 translate <" intersection { Y1 translate <" intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } intersection { Z1 translate <" 0 > } texture { Box_Texture2 } bounded_by {" box { UnitBox scale < } composite {" composite { returns (Y) of each row composite { returns (X) of each column object { translate < object { translate < object { texture { " } translate < object { texture { " } translate < bounded_by {" box { UnitBox scale < > translate < > } " } } bounded_by {" box { UnitBox scale < > translate < > } " } bounded_by {" box { UnitBox scale < > translate < > } " } translate <" * Random Texture Section - Overweigh reflection 0 reflection 0.0 reflection " - Overweight Alpha 0 alpha 0.0" alpha color red green " blue color red green " blue #declare " = texture { wood turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" granite" turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" bozo turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" marble turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" agate" turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" gradient <0 1 0>" turbulence; color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" spotted" turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" leopard" turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" color red" green" ambient" diffuse" phong" phong_size refraction scale <" }" onion" turbulence color_map {" [0 .5 [.5 1 }" ambient" diffuse" phong" phong_size scale <" }" * Format POV File --- adjust camera based on array size #include " shapes.inc #include " camera { location <0 0 direction <0 0 2>" up <0 1 0> right <1.333 0 0>" look_at <0 0 0>" object { light_source { <-100000 100000 -100000> color red 1 green 1 blue 1 }} object { light_source { <200000 5000 -500000> color red 1 green 1 blue 1 }}" composite {" #include rotate <0 30 0> rotate <30 0 0> Boxer 0.1 -- M.Miller 4/22/92"